package com.example.zhinongbao.model;

import android.content.Context;
import android.util.Log;

import com.example.zhinongbao.contract.SchoolContract;
import com.example.zhinongbao.provider.NewsDao;

import java.util.List;

public class SchoolModel implements SchoolContract.Model {
    private static final String TAG = "SchoolModel";
    private final NewsDao newsDao;
    private final Context context;

    public SchoolModel(Context context) {
        this.context = context.getApplicationContext(); // 使用Application Context避免内存泄漏
        this.newsDao = new NewsDao(this.context);
    }

    @Override
    public boolean publishNews(String title, String content, String imageUrl) {
        if (context == null) {
            Log.e("SchoolModel", "Context is null!");
            return false;
        }
        try {
            // 默认用户ID为1（实际应从登录系统获取）
            long result = newsDao.insertNews(title, content, imageUrl, 1);
            if (result != -1) {
                Log.d(TAG, "新闻发布成功，ID: " + result);
                return true;
            }
            return false;
        } catch (Exception e) {
            Log.e(TAG, "发布新闻异常", e);
            return false;
        }
    }

    @Override
    public String[][][] getSchoolNewsData() {
        try {
            List<NewsDao.NewsItem> newsItems = newsDao.getAllPublishedNews();
            String[][][] result = new String[newsItems.size()][3][1];

            for (int i = 0; i < newsItems.size(); i++) {
                NewsDao.NewsItem item = newsItems.get(i);
                result[i][0][0] = item.title;                   // 标题
                result[i][1][0] = item.content;                 // HTML内容
                result[i][2][0] = item.imageUrl != null ?
                        item.imageUrl : "";                         // 图片URL
            }

            return result;
        } catch (Exception e) {
            Log.e(TAG, "获取新闻数据异常", e);
            return new String[0][][]; // 返回空数组避免NPE
        }
    }

    // 新增方法：获取新闻详情（扩展功能）
    public NewsDao.NewsItem getNewsDetail(long newsId) {
        return newsDao.getNewsById(newsId);
    }

    // 新增方法：获取用户发布的新闻（扩展功能）
    public List<NewsDao.NewsItem> getUserNews(int userId) {
        return newsDao.getNewsByUser(userId);
    }

    // 新增方法：更新新闻（扩展功能）
    public boolean updateNews(long newsId, String title, String content, String imageUrl) {
        int affectedRows = newsDao.updateNews(newsId, title, content, imageUrl);
        return affectedRows > 0;
    }

    // 新增方法：删除新闻（扩展功能）
    public boolean deleteNews(long newsId) {
        return newsDao.deleteNews(newsId);
    }

    // 保持与原有generateNewsHtml方法的兼容
    private String generateNewsHtml(int newsType) {
        // 原有模拟数据生成逻辑（可选保留）
        switch (newsType) {
            case 1:
                return "<div style='font-family:Microsoft YaHei;'><h2 style='color:#333; margin-bottom:16px;'>全国乡村人才工作会议在陕西咸阳召开</h2><img src='https://example.com/news1.jpg' style='width:100%; height:auto; border-radius:8px; margin-bottom:16px;'><p style='font-size:16px; line-height:1.8; color:#555;'>5月15日，全国乡村人才工作会议在陕西咸阳召开，农业农村部党组书记、部长唐仁健出席会议并讲话，会议强调，要深入学习贯彻习近平总书记重要讲话和重要指示批示精神，落实党中央、国务院部署，<strong>分类施策、加快推进乡村人才队伍建设</strong>，为全面推进乡村振兴、加快建设农业强国提供强有力的智力支持和人才支撑。</p><div style='background-color:#f5f5f5; padding:12px; border-radius:6px; margin-top:20px;'><p style='font-size:14px; color:#666;'>会议指出</p><p style='font-size:14px; color:#333; margin-left:16px;'>人才振兴是乡村全面振兴的重要方面和基础支撑。近年来乡村人才工作取得积极进展，农业科研队伍、乡村产业发展\"雁阵\"和高素质农民队伍不断壮大，但对标到2035年\"基本实现农业现代化\"和\"农村基本具备现代生活条件\"的目标任务，乡村人才队伍建设短板还比较突出。</p></div><a href='https://www.nongcun.gov.cn/' style='display:block; text-align:center; background-color:#00a1ff; color:white; padding:12px; border-radius:6px; margin-top:20px; text-decoration:none;'>查看农业农村部官网原文</a></div>";
            case 2:
                return "<div style='font-family:Microsoft YaHei;'><h2 style='color:#333; margin-bottom:16px;'>农技新突破：XX种植技术推广</h2><img src='https://example.com/news2.jpg' style='width:100%; height:auto; border-radius:8px; margin-bottom:16px;'><p style='font-size:16px; line-height:1.8; color:#555;'>农业科学院最新研发的XX种植技术已在山东、河南等地试点推广，该技术通过智能水肥管理和土壤改良，可使玉米、小麦等作物产量提升30%以上，同时降低20%的水资源消耗。</p><h3 style='color:#00a1ff; margin-top:20px;'>技术核心优势：</h3><ul style='margin-left:20px; margin-top:10px;'><li style='font-size:14px; line-height:1.6; color:#555;'>• 智能传感器实时监测土壤墒情</li><li style='font-size:14px; line-height:1.6; color:#555;'>• 无人机航拍分析作物生长状态</li><li style='font-size:14px; line-height:1.6; color:#555;'>• 云端大数据生成种植方案</li></ul><a href='https://example.com/tech/xx' style='display:block; text-align:center; background-color:#5ed935; color:white; padding:12px; border-radius:6px; margin-top:20px; text-decoration:none;'>申请技术咨询</a></div>";
            case 3:
                return "<div style='font-family:Microsoft YaHei;'><h2 style='color:#333; margin-bottom:16px;'>2024年全国农业技术推广工作会议召开</h2><img src='https://example.com/news3.jpg' style='width:100%; height:auto; border-radius:8px; margin-bottom:16px;'><p style='font-size:16px; line-height:1.8; color:#555;'>12 月 10 日至 11 日，在遵义市湄潭县召开。会议总结交流了各地粮食技术推广新模式新典型，分析研判形势任务，理清工作重点，巩固新技术推广推动粮食工作稳步发展的成果。</p><h3 style='color:#00a1ff; margin-top:20px;'>技术核心优势：</h3><ul style='margin-left:20px; margin-top:10px;'><li style='font-size:14px; line-height:1.6; color:#555;'>• 全国化肥减量增效工作推进会</li><li style='font-size:14px; line-height:1.6; color:#555;'>• 全国农业技术推广服务中心在广西南宁召开。</li><li style='font-size:14px; line-height:1.6; color:#555;'>• 全国农技推广骨干人员培训班</li></ul><a href='https://example.com/tech/xx' style='display:block; text-align:center; background-color:#5ed935; color:white; padding:12px; border-radius:6px; margin-top:20px; text-decoration:none;'>申请技术咨询</a></div>";
            case 4:
                return "<div style='font-family:Microsoft YaHei;'><h2 style='color:#333; margin-bottom:16px;'>果蔬保鲜新技术：纳米涂层让保质期延长至30天</h2><img src='https://example.com/news4.jpg' style='width:100%; height:auto; border-radius:8px; margin-bottom:16px;'><p style='font-size:16px; line-height:1.8; color:#555;'>纳米涂层技术是利用纳米材料对果蔬表面进行涂覆，形成一层薄膜，从而改善果蔬的保鲜性能</p><h3 style='color:#00a1ff; margin-top:20px;'>技术核心优势：</h3><ul style='margin-left:20px; margin-top:10px;'><li style='font-size:14px; line-height:1.6; color:#555;'>• 抑制微生物生长</li><li style='font-size:14px; line-height:1.6; color:#555;'>• 减少水分蒸发。</li><li style='font-size:14px; line-height:1.6; color:#555;'>• 调节气体环境</li></ul><a href='https://example.com/tech/xx' style='display:block; text-align:center; background-color:#5ed935; color:white; padding:12px; border-radius:6px; margin-top:20px; text-decoration:none;'>申请技术咨询</a></div>";
            case 5:
                return "<div style='font-family:Microsoft YaHei;'><h2 style='color:#333; margin-bottom:16px;'>盐碱地改良新突破：微生物技术让荒地变良田</h2><img src='https://example.com/news5.jpg' style='width:100%; height:auto; border-radius:8px; margin-bottom:16px;'><p style='font-size:16px; line-height:1.8; color:#555;'>微生物技术在盐碱地改良方面取得了显著突破，主要通过以下几种方式实现盐碱地的改良</p><h3 style='color:#00a1ff; margin-top:20px;'>技术核心优势：</h3><ul style='margin-left:20px; margin-top:10px;'><li style='font-size:14px; line-height:1.6; color:#555;'>• 分解盐离子</li><li style='font-size:14px; line-height:1.6; color:#555;'>• 改善土壤结构和通气性。</li><li style='font-size:14px; line-height:1.6; color:#555;'>• 调节酸碱平衡</li></ul><a href='https://example.com/tech/xx' style='display:block; text-align:center; background-color:#5ed935; color:white; padding:12px; border-radius:6px; margin-top:20px; text-decoration:none;'>申请技术咨询</a></div>";
            default:
                return "<div>暂无新闻内容</div>";
        }
    }
}